#N canvas 0 30 1022 568 16;
#N canvas 0 50 1022 568 map/reduce 0;
#X obj 24 154 reduce;
#X msg 47 12 1 2 3;
#X obj 83 112 * 10;
#X obj 266 104 map;
#X obj 220 176 reduce;
#X msg 355 54 1 2 3;
#X msg 255 54 1 9 3;
#X obj 260 14 t b b;
#X obj 226 20 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
-1;
#X obj 319 137 *;
#X msg 20 243 10 20 30;
#X msg 216 260 0 900 0;
#X obj 19 193 set!;
#X obj 221 225 set!;
#X msg 125 14 2 4 6;
#X msg 168 89 0 100 0;
#X obj 52 59 map;
#X msg 437 57 9 9 1;
#X connect 0 0 12 0;
#X connect 1 0 16 0;
#X connect 2 0 0 1;
#X connect 3 0 4 0;
#X connect 3 1 9 0;
#X connect 3 2 9 1;
#X connect 4 0 13 0;
#X connect 5 0 3 1;
#X connect 6 0 3 0;
#X connect 7 0 6 0;
#X connect 7 1 5 0;
#X connect 8 0 7 0;
#X connect 9 0 4 1;
#X connect 12 0 10 0;
#X connect 13 0 11 0;
#X connect 14 0 16 0;
#X connect 15 0 3 0;
#X connect 16 0 0 0;
#X connect 16 1 2 0;
#X connect 17 0 3 1;
#X restore 691 139 pd map/reduce;
#X text 639 13 click for details:;
#N canvas 54 104 450 300 pick 0;
#X obj 121 136 pick;
#X msg 55 58 0;
#X symbolatom 124 192 10 0 0 0 - - -, f 10;
#X msg 199 62 foo bar baz;
#X msg 121 59 2;
#X obj 195 25 loadbang;
#X connect 0 0 2 0;
#X connect 1 0 0 0;
#X connect 3 0 0 1;
#X connect 4 0 0 0;
#X connect 5 0 3 0;
#X restore 686 204 pd pick;
#N canvas 54 104 450 300 rotate 0;
#X obj 118 110 rotate;
#X msg 220 48 foo bar baz;
#X msg 72 49 0;
#X msg 134 48 2;
#X obj 215 12 loadbang;
#X floatatom 46 100 5 0 0 0 - - -, f 5;
#X msg 113 202 foo bar baz;
#X obj 112 156 set!;
#X connect 0 0 7 0;
#X connect 1 0 0 1;
#X connect 2 0 0 0;
#X connect 3 0 0 0;
#X connect 4 0 1 0;
#X connect 5 0 0 0;
#X connect 7 0 6 0;
#X restore 685 316 pd rotate;
#X obj 29 154 reduce;
#X obj 29 208 pick;
#X obj 31 318 rotate;
#X obj 535 477 list;
#X text 113 318 <- rotate the elements in a list;
#X text 34 11 Some additional list functions to complement the Pd built-ins
;
#X text 108 376 <- change a list to the input list;
#X obj 31 372 set!;
#X text 116 71 <- get position of a given value in a list;
#X obj 34 72 find;
#N canvas 0 30 1022 568 find 0;
#X obj 107 175 select 1;
#X floatatom 37 171 5 0 0 0 - - -, f 5;
#X obj 105 219 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X obj 186 222 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X obj 218 50 loadbang;
#X msg 69 79 1;
#X msg 124 71 4;
#X msg 216 83 1 2 3;
#X text 49 243 bug: only works on numbers;
#X obj 105 138 find;
#X msg 168 70 3;
#X connect 0 0 2 0;
#X connect 0 1 3 0;
#X connect 4 0 7 0;
#X connect 5 0 9 0;
#X connect 6 0 9 0;
#X connect 7 0 9 1;
#X connect 9 0 1 0;
#X connect 9 0 0 0;
#X connect 10 0 9 0;
#X restore 700 80 pd find;
#N canvas 0 50 1022 568 set! 0;
#X msg 178 203 foo bar baz;
#X msg 115 55 1 2 3;
#X msg 222 58 foo bar baz;
#X obj 183 157 set!;
#X connect 1 0 3 0;
#X connect 2 0 3 0;
#X connect 3 0 0 0;
#X restore 688 377 pd set!;
#X obj 30 120 map;
#X obj 28 260 shuffle;
#X text 121 260 <-shuffle a list;
#X text 119 476 This is an extension to the Pd built-in:;
#N canvas 0 30 1022 568 shuffle 0;
#X obj 132 99 shuffle;
#X obj 125 163 set!;
#X msg 132 40 I like bananas;
#X msg 125 231 like I bananas;
#X connect 0 0 1 0;
#X connect 1 0 3 0;
#X connect 2 0 0 0;
#X restore 686 263 pd shuffle;
#X text 113 205 <- get list element(s) at a given position;
#X text 114 127 <- do something to each element in one or more list
;
#X connect 16 0 4 0;
